.order-confirm {
  height: calc(100vh - env(safe-area-inset-bottom));

  .order-confirm-body {
    height: calc(100vh - env(safe-area-inset-bottom) - 100rpx);
    background-color: #f7f7f7;
    box-sizing: border-box;
    padding: 18rpx;

    .order-confirm-body-no-delivery-address {
      background-color: #fff;
      width: 100%;
      height: 190rpx;
      border-radius: 20rpx;
      display: flex;
      align-items: center;
      box-sizing: border-box;

      .order-confirm-body-no-delivery-address-add-button {
        margin-left: 50rpx;
        width: 100rpx;
        height: 100rpx;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 2rpx dashed #6eb6c8;
        /* 移除原有的 font-size: 100rpx */
        font-size: 0;
        /* 隐藏原文本 */
        position: relative;

      }

      .order-confirm-body-no-delivery-address-add-button::after {
        content: "+";
        font-size: 60rpx;
        color: #6eb6c8;
      }

      .order-confirm-body-no-delivery-address-tip {
        margin-left: 20rpx;
        font-size: 33rpx;
      }
    }

    .order-confirm-body-delivery-address {
      background-color: #fff;
      padding: 20rpx;
      border-radius: 20rpx;
      position: relative;

      .order-confirm-body-delivery-address-province-city-district {
        display: flex;
        gap: 15rpx;
        color: #666;
        font-size: 30rpx;
      }

      .order-confirm-body-detail-delivery-address {
        font-size: 35rpx;
        color: black;
        margin: 10rpx 0;
        width: 95%;
      }

      .order-confirm-body-receiver-name-phone {
        display: flex;
        gap: 15rpx;
        color: #666;
        font-size: 30rpx;
      }

      .order-confirm-body-arrow {
        position: absolute;
        right: 40rpx;
        top: 50%;
        transform: translateY(-50%);
      }
    }

    .divider {
      margin: 15rpx auto;
      /* 分割线高度 */
      height: 1rpx;
      /* 背景渐变：红-红-透明-透明-蓝-蓝-透明-透明 */
      background: linear-gradient(to right,
          #b3e5fc 0%,
          /* 红色开始 */
          #4fc3f7 25%,
          /* 红色结束 */
          transparent 25%,
          /* 透明开始（空白） */
          transparent 50%,
          /* 透明结束（空白） */
          #0000ff 50%,
          /* 蓝色开始 */
          #0000ff 75%,
          /* 蓝色结束 */
          transparent 75%,
          /* 透明开始（空白） */
          transparent 100%
          /* 透明结束（空白） */
        );
      /* 背景尺寸：控制一个完整循环（红+空白+蓝+空白）的宽度 */
      background-size: 100rpx 10rpx;
      /* 水平重复 */
      background-repeat: repeat-x;
    }

    .order-item-content-one {
      padding: 20rpx;
      background-color: #fff;
      border-radius: 20rpx;
      display: flex;
      align-items: center;
      box-sizing: border-box;

      .order-item-content-one-image {
        width: 200rpx;
        height: 200rpx;
        border-radius: 20rpx;
        border: 1rpx solid #6eb6c8;
      }

      .order-item-content-one-info {
        flex: 1;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        margin-left: 15rpx;

        .order-item-content-one-product-name {
          font-size: 28rpx;
          line-height: 40rpx;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: normal;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
        }

        .order-item-content-one-product-specification-name {
          font-size: 26rpx;
          color: #999;
          line-height: 40rpx;
        }

        .order-item-content-one-product-price-and-quantity {
          margin-top: auto;
          display: flex;
          margin-bottom: 10rpx;
          align-items: center;

          .order-item-content-one-product-original-price {
            font-size: 24rpx;
          }

          .order-item-content-one-product-discount-price {
            font-size: 28rpx;
            margin-left: 20rpx;
            color: #db463b;
          }

          .order-item-content-one-product-quantity {
            font-size: 28rpx;
            margin-left: auto;
          }
        }
      }
    }

    .order-item-content-more {
      padding: 20rpx;
      background-color: #fff;
      border-radius: 20rpx;
      display: flex;
      align-items: center;
      justify-content: space-between;

      .order-item-content-more-scroll-view {
        width: 530rpx;
        white-space: nowrap;

        .order-item-content-more-scroll-view-image {
          width: 115rpx;
          height: 115rpx;
          border: 1rpx solid #6eb6c8;
          margin-right: 10rpx;
          border-radius: 10rpx;
        }
      }

      .order-item-content-more-piece-info {
        font-size: 30rpx;
      }

    }

    .order-info {
      margin-top: 15rpx;
      padding: 20rpx;
      background-color: #fff;
      border-radius: 20rpx;

      .order-info-title {
        font-size: 35rpx;
        font-weight: bold;
        margin-bottom: 10rpx;
      }

      .order-info-cell {
        padding: 20rpx 0;
        display: flex;
        align-items: center;
        justify-content: space-between;

        .order-info-label {
          font-size: 30rpx;
          color: black;
        }

        .order-info-value {
          font-size: 30rpx;
          color: black;
        }

        .order-info-value-invoice {
          font-size: 30rpx;
          color: #888888;
        }

        .order-info-value-input {
          width: 400rpx;
          text-align: right;
          font-size: 30rpx;
        }
      }
    }

    .order-price-detail {
      margin-top: 15rpx;
      padding: 20rpx;
      background-color: #fff;
      border-radius: 20rpx;

      .order-price-detail-title {
        font-size: 35rpx;
        font-weight: bold;
        margin-bottom: 10rpx;
      }

      .order-price-detail-cell {
        padding: 20rpx 0;
        display: flex;
        align-items: center;

        .order-price-detail-cell-label {
          color: black;
          font-size: 30rpx;
        }

        .order-number-info {
          color: #9b9b9b;
          margin-left: 30rpx;
        }

        .order-price-detail-cell-value {
          margin-left: auto;
          font-size: 30rpx;
          color: black;
        }

        .order-discount-info {
          color: #db463b;
        }

        .order-shipping-fee-info {
          color: black;
        }

        .order-coupon-info {
          color: #888;
        }

        .order-final-price-info {
          color: #db463b;
        }
      }
    }

    .order-pay-region {
      margin-top: 15rpx;
      padding: 20rpx;
      background-color: #fff;
      border-radius: 20rpx;

      .order-pay-method {
        display: flex;
        align-items: center;
        margin-bottom: 20rpx;

        .order-pay-method-icon {
          width: 50rpx;
          height: 50rpx;
        }

        .order-pay-method-text {
          font-size: 28rpx;
          margin-left: 20rpx;
        }

        .order-pay-method-checkbox {
          margin-left: auto;
        }
      }
    }

  }

  .order-confirm-bottom-region {
    height: 100rpx;
    background-color: #fff;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding-right: 23rpx;

    .order-confirm-bottom-region-payment-information {
      margin-left: auto;
      display: flex;
      flex-direction: column;
      margin-right: 20rpx;

      .order-confirm-bottom-region-payment-information-first-row {
        display: flex;
        align-items: baseline;
        margin-bottom: 5rpx;

        .order-confirm-bottom-region-payment-information-first-row-text {
          font-size: 24rpx;
        }

        .order-confirm-bottom-region-payment-information-first-row-actual-price {
          display: flex;
          align-items: baseline;
          color: #db463b;

          .order-confirm-bottom-region-payment-information-first-row-actual-price-symbol {
            font-size: 20rpx;
          }

          .order-confirm-bottom-region-payment-information-first-row-actual-price-value {
            font-size: 26rpx;
          }
        }
      }

      .order-confirm-bottom-region-payment-information-second-row {
        text-align: right;
        font-size: 24rpx;
        color: #db463b;
      }
    }

    .order-confirm-bottom-region-submit-button {
      padding: 20rpx 35rpx;
      background-color: #6eb6c8;
      color: #fff;
      border-radius: 15rpx;
    }

    .order-confirm-bottom-region-submit-button-active {
      background-color: #5aa5b7;
      /* 深色版背景 */
      /* 可选：添加透明度变化 */
      opacity: 0.9;
      /* 可选：轻微缩放效果 */
      transform: scale(0.98);
    }
  }
}


/* 遮罩层：全屏半透明，居中承载弹窗 */
.mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  /* 半透明黑色 */
  z-index: 999;
  /* 确保层级在页面内容之上 */
  display: flex;
  justify-content: center;
  align-items: center;

  /* 弹窗容器 */
  .dialog {
    width: 582rpx;
    background: #fff;
    border-radius: 16rpx;
    padding: 37rpx 58rpx;

    .dialog-title {
      font-size: 35rpx;
      font-weight: bold;
      text-align: center;
    }

    .dialog-content {
      margin-top: 40rpx;
      font-size: 32rpx;
      color: #010101;
      width: 100%;
    }

    .btn-group {
      margin-top: 35rpx;

      .btn-agree {
        width: 100%;
        height: 80rpx;
        border-radius: 35rpx;
        font-size: 32rpx;
        border: 2rpx solid #1989fa;
        display: flex;
        color: #fff;
        background-color: #1989fa;
        justify-content: center;
        align-items: center;
      }
    }
  }
}

.delivery-address-agree-mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  /* 半透明黑色 */
  z-index: 999;
  /* 确保层级在页面内容之上 */
  display: flex;
  justify-content: center;
  align-items: center;

  .delivery-address-agree-dialog {
    width: 625rpx;
    height: 355rpx;
    box-sizing: border-box;
    border-radius: 30rpx;
    background: #fff;
    display: flex;
    flex-direction: column;

    .delivery-address-agree-dialog-title {
      font-size: 35rpx;
      margin-top: 65rpx;
      font-weight: bold;
      text-align: center;
    }

    .delivery-address-agree-dialog-content {
      margin-top: 40rpx;
      font-size: 32rpx;
      text-align: center;
      color: #737373;
    }

    .delivery-address-agree-btn-group {
      margin-top: auto;
      display: flex;
      border-top: 2rpx solid #f3f3f3;

      .btn-cancel {
        width: 50%;
        height: 110rpx;
        display: flex;
        justify-content: center;
        align-items: center;
        border-right: 2rpx solid #f3f3f3;
      }

      .btn-confirm {
        flex: 1;
        height: 110rpx;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #6eb6c8;
      }
    }
  }
}

.delivery-address-select-pop-up {
  width: 100vw;
  height: calc(845rpx - env(safe-area-inset-bottom));
  position: relative;

  .delivery-address-select-pop-up-header {
    position: relative;
    padding: 30rpx 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 4rpx solid #f5f5f5;
    position: relative;

    .delivery-address-select-pop-up-header-title {
      font-weight: bold;
      font-size: 30rpx;
    }

    .delivery-address-select-pop-up-close-button {
      position: absolute;
      right: 40rpx;
      top: 50%;
      transform: translateY(-50%);
    }
  }

  .delivery-address-select-pop-up-scroll-view {
    height: calc(625rpx - env(safe-area-inset-bottom));
    box-sizing: border-box;

    .delivery-address-card {
      margin-bottom: 50rpx;

      .delivery-address-card-info {
        border-bottom: 2rpx solid #888;
        padding-bottom: 30rpx;
        padding-left: 20rpx;
        padding-top: 10rpx;
        box-sizing: border-box;
        position: relative;

        .delivery-address-card-info-icon {
          position: absolute;
          right: 30rpx;
          top: 50%;
          transform: translateY(-50%);
        }

        .delivery-address-card-info-province-city-district {
          display: flex;
          gap: 15rpx;
          color: #666;
          font-size: 25rpx;
        }

        .delivery-address-card-info-detail-address {
          color: black;
          width: 91%;
          font-size: 30rpx;
          margin: 10rpx 0;
        }

        .delivery-address-card-info-receiver-phone-name {
          display: flex;
          gap: 15rpx;
          color: #666;
          font-size: 25rpx;
        }
      }

      .delivery-address-card-operation {
        display: flex;
        box-sizing: border-box;
        padding-left: 20rpx;
        padding-top: 30rpx;
        color: #989898;
      }
    }
  }

  .delivery-address-select-pop-up-bottom-region {
    height: 125rpx;
    position: absolute;
    bottom: 0;
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;

    .delivery-address-select-pop-up-bottom-region-add-button {
      width: 700rpx;
      border-radius: 30rpx;
      height: 80rpx;
      background-color: #6eb6c8;
      color: #fff;
      font-size: 30rpx;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .delivery-address-select-pop-up-bottom-region-add-button-active {
      /* 背景色加深 */
      background-color: #5aa0b1;
      /* 轻微缩放 */
      transform: scale(0.98);
      opacity: 0.9;
      box-shadow: inset 0 2rpx 4rpx rgba(0, 0, 0, 0.1);
    }
  }
}

.product-list-pop-up {
  width: 100vw;
  height: calc(1000rpx - env(safe-area-inset-bottom));
  overflow: hidden;

  .product-list-pop-up-header {
    position: relative;
    padding: 30rpx 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 4rpx solid #f5f5f5;
    position: relative;

    .product-list-pop-up-header-title {
      font-weight: bold;
      font-size: 30rpx;
    }

    .product-list-pop-up-header-close-button {
      position: absolute;
      right: 40rpx;
      top: 50%;
      transform: translateY(-50%);
    }
  }

  .product-list-pop-up-tip {
    height: 60rpx;
    width: 700rpx;
    border-radius: 5rpx;
    background-color: #dceef4;
    margin: 0 auto;
    display: flex;
    align-items: baseline;
    box-sizing: border-box;
    line-height: 60rpx;
    padding: 0 25rpx;
    font-size: 28rpx;
    margin-top: 5rpx;
  }

  .product-list-pop-up-content {
    height: calc(840rpx - env(safe-area-inset-bottom));
    padding: 15rpx 20rpx;
    box-sizing: border-box;
    padding-top: 0;

    .product-list-pop-up-content-item {
      padding: 15rpx 0;
      border-bottom: 2rpx solid #f5f5f5;
      display: flex;

      .product-list-pop-up-content-item-image {
        width: 200rpx;
        height: 200rpx;
        border: 1rpx solid #6eb6c8;
        margin-right: 10rpx;
        border-radius: 10rpx;
      }

      .product-list-pop-up-content-item-info {
        flex: 1;
        display: flex;
        flex-direction: column;

        .product-list-pop-up-content-item-info-product-name {
          font-size: 28rpx;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: normal;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
        }

        .product-list-pop-up-content-item-info-product-specification-name {
          color: #888;
          margin-top: 10rpx;
        }

        .product-list-pop-up-content-item-info-price-and-quantity {
          margin-top: auto;
          display: flex;
          align-items: baseline;
          font-size: 28rpx;

          .product-list-pop-up-content-item-info-price-and-quantity-original {}

          .product-list-pop-up-content-item-info-price-and-quantity-discount {
            color: #db463b;
            margin-left: 20rpx;
          }

          .product-list-pop-up-content-item-info-quantity {
            margin-left: auto;
          }
        }
      }
    }
  }
}

.discount-details-pop-up {
  height: calc(50vh - env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;

  .discount-details-pop-up-header {
    position: relative;
    padding: 30rpx 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 4rpx solid #f5f5f5;
    position: relative;

    .discount-details-pop-up-header-title {
      font-weight: bold;
      font-size: 30rpx;
    }

    .discount-details-pop-up-header-close-button {
      position: absolute;
      right: 40rpx;
      top: 50%;
      transform: translateY(-50%);
    }
  }

  .discount-details-pop-up-body {
    box-sizing: border-box;
    padding: 10rpx 40rpx;
    .discount-details-pop-up-body-item {
      display: flex;
      align-items: baseline;
      font-size: 30rpx;
      margin-bottom: 10rpx;
      .discount-details-pop-up-body-label {}

      .discount-details-pop-up-body-value {
        margin-left: auto;
        color: #db463b;
      }
    }

  }
  .discount-details-pop-up-bottom-region{
    margin-top: auto;
    height: 110rpx;
    display: flex;
    justify-content: center;
    align-items: center;
    .discount-details-pop-up-bottom-region-button{
      height: 90rpx;
      background-color: #6eb6c8;
      color: #fff;
      font-size: 35rpx;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 700rpx;
      border-radius: 20rpx;
    }
  }
}